Лабораторная работа №4

Операционные системы

Мазурский А. Д.

Российский университет дружбы народов, Москва, Россия

06 марта 2025

Информация

Докладчик

  • Мазурксий Александр Дмитриевич
  • Студент НКАбд-02-24
  • я саша
  • Российский университет дружбы народов
  • 1132242468@pfur.ru

Цель работы

Получение навыков продвинутой работы с репозиториями git и релизами.

Задание

  1. Выполнить работу для тестового репозитория.
  2. Преобразовать рабочий репозиторий в репозиторий с git-flow и conventional commits.

Теоретическое введение

Gitflow Workflow опубликована и популяризована Винсентом Дриссеном. Gitflow Workflow предполагает выстраивание строгой модели ветвления с учётом выпуска проекта. Данная модель отлично подходит для организации рабочего процесса на основе релизов.v Работа по модели Gitflow включает создание отдельной ветки для исправлений ошибок в рабочей среде.

Семантическое версионирование описывается в манифесте семантического версионирования. Кратко его можно описать следующим образом: Версия задаётся в виде кортежа МАЖОРНАЯ_ВЕРСИЯ.МИНОРНАЯ_ВЕРСИЯ.ПАТЧ. Номер версии следует увеличивать: МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API. МИНОРНУЮ версию, когда вы добавляете новую функциональность, не нарушая обратной совместимости. ПАТЧ-версию, когда вы делаете обратно совместимые исправления. Дополнительные обозначения для предрелизных и билд-метаданных возможны как дополнения к МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ формату.

Спецификация Conventional Commits: Соглашение о том, как нужно писать сообщения commit’ов. Совместимо с SemVer. Даже вернее сказать, сильно связано с семантическим версионированием. Регламентирует структуру и основные типы коммитов.

Выполнение лабораторной работы

Устанавливаю nodejs, пакетный менеджер для него pnpm и gitflow.

Установка необходимого ПО

Устаналиваю через pnpm commitizen и standard-changelog.

Установка через pnpm

Создаю новый репозиторий и делаю там первый коммит.

Создание репозитория

Инициализирую и конфигурирую общепринятые коммиты в созданной директории через редактирование package.json.

Конфигурация package.json

Делаю снимок измененний, создаю коммит и отправляю на удаленный репозиторий.

Отправление коммита на GitHub

Инициализирую в репозитории git flow и создаю 1 релиз в только что созданной ветке develop.

Использование git-flow

Создаю список изменений через standard changelog, заканчиваю релиз и выгружаю на удаленный репозиторий изменения.

Загрузка релиза на github

Инициализирую ветку feature для работы над новой функциональностью, готовлю релиз и загружаю на github.

Работа с новой веткой и загрузка релиза

Выводы

В ходе выполнения лабораторный работы я получил навыки правильной работы с репозиториями git.